This invention primarily concerns the art of asynchronous communication, and more particularly relates to a method of providing error control for asynchronous communications.
Historically, asynchronous communication has been low speed, on the order of 5 characters per second (cps) to 30 cps, assuming ten bit characters. An example of equipment using asynchronous communication is the well-known teletype machine. Companion transmission line devices, such as multiplexers and modulator/demodulators (modems), are available which operate at similar speeds.
In asynchronous communication, data is transmitted on a character by character basis, and synchronization is achieved between transmitter and receiver on a character basis by the start and stop bits positioned at the start and end of each data character. Different data code formats utilize a different number of data bits per character. For instance, the ASCII code uses seven data bits, the start and stop bits, and a parity bit to form its 10 bit characters.
Heretofore, there has been no error control utilized in asynchronous communication, except for the parity bit in the ASCII code, which results only in an elementary form of error check. This lack of error control in asynchronous communication is in contrast to the rather complex error control techniques which have been developed for synchronous communication.
In synchronous communication, higher data rates, i.e. 200-1200 cps, are used, and the synchronization between transmitter and receiver is achieved by synchronized clocks at the transmitter and receiver. Sophisticated error control techniques have been developed and used in synchronous communication because of the high error rate present at such high speeds. Only synchronous equipment, which is large and expensive, has had error control capability in the past. In asynchronous communication, the error rate has historically been relatively low, on the order of one error or less per page of text. Furthermore, errors in asynchronous communication were usually not very serious, as such communication usually involved just text data, to be read by a human being. Errors could thus be relatively easily detected, and corrected by the user.
However, errors in asynchronous communication are now becoming increasingly intolerable, due to several technical developments in the art. Higher transmission speeds, e.g. 120 cps, are now becoming common, but with a corresponding significant increase in errors. Additionally, graphic type data is being transmitted asynchronously, in which even a single bit error can have very serious consequences. Furthermore, files are being transferred between computers asynchronously, and in such a case, errors cannot be easily discerned and corrected by a human operator.
The parity bit error control techniques is not sufficient to achieve the quality of error control necessary with such technical developments, while the more sophisticated error control techniques used in synchronous communication, which add between 8 and 32 bits to a data burst, are not feasible with the current character-by-character asynchronous form of data transmission. Adding error control bits to existing character-by-character asynchronous communications would seriously degrade the data capacity of the communication system, which is an unacceptable result.
Thus, there is a significant need for a reliable, sophisticated error control technique would can be used in asynchronous communications, but which does not result in a reduction in the data capacity of the communication system. Also, it is desirable that the apparatus for implementing such an error control method be useful which existing asynchronous data devices, such as teletypes and modems, while being transparent to the user and host devices and the transmission line data link, so that no modification of such devices, or the data link, is necessary.
Accordingly, it is a general object of the present invention to provide a method of error control for asynchronous communication which overcomes one or more of the disadvantages of the prior art noted above.
It is another object of the present invention to provide such a method which results in a high level of error detection and correction in asynchronous communication.
It is an additional object of the present invention to provide such a method which can be used with existing data links and with existing asynchronous communication equipment, without modification of either.
It is a further object of the present invention to provide such a method which does not reduce the data capacity of the communication system.
It is yet another object of the present invention to provide an apparatus implementing such a method which is transparent to both of the user devices and the data link.
It is a still further object of the present invention to provide such a method which permits encryption of the asynchronous data.
It is an additional object of the present invention to provide such a method which is useful at all of the present asynchronous communication rates.
It is yet another object of the present invention to provide such a method which is useful with most, if not all, existing asynchronous communication equipment.
It is a still further object of the present invention to reduce the time lag between the generation of data by a data device and the transfer of that information to the transmission line.